#include <stdio.h>

int add(int x, int y)
{
    printf("add x = %d\n", x);
    printf("add y = %d\n", y);
    int z = 30; // z只在add函数内部有效
    // xyz 都是add局部变量 保存在 add函数的栈帧中 add运行完成之后 栈帧被销毁  xyz被销毁

    return x + y;
}

int main()
{
    int a = 10;
    int b = 20;
    printf("main a = %d\n", a);
    printf("main b = %d\n", b); // ab保存在 main函数的栈帧中

    add(a, b); // 函数调用 a b是 实参

    // printf("main z = %d\n", z);
    // main函数内部没有z变量 所以会报错

    return 0;
}

//